home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Extra 1996 #2 / Amiga Plus CD - 1996 - No. 2 Extra.iso / clarissa1_1-demo / macros / farbverlauf.clssa < prev    next >
Text File  |  1995-01-26  |  3KB  |  103 lines

  1. /***********************************************************************
  2.   GADGET: "'Farbverlauf'" "6" AUTO TYP: "?"
  3.  
  4.   $DAT >>Farbverlauf.clssa<<  30.09.1992 - (C) ProDAD Holger Burkarth
  5.                               20.01.1995 - (C) ProDAD Michael Christoph
  6.  
  7.  Dieser Macro berechnet einen Farbverlauf in einer Animation. Hierzu
  8.  wählt der User einen Bereich aus wie gewohnt, danach wird ein
  9.  Farbverlauf vom Startbild bis zum Endbild berechnet. Je größer die
  10.  Farbunterschiede sind und je kleiner der ausgewählte Bereich ist,
  11.  um so grasser ist der Farbverlauf.
  12. ************************************************************************/
  13.  
  14. Options Results
  15. Address clariSSA
  16.  
  17.   FailAt 10
  18.   AltFail=RESULT
  19.  
  20.   GetArea
  21.   PARSE VAR RESULT . "FROM" von "TO" bis .
  22.   von=Strip(von)
  23.  
  24.   Anzahl=bis-von
  25.   IF Anzahl>1 THEN DO
  26.  
  27.     DO FOREVER
  28.       GetAnimInfo
  29.       PARSE VAR RESULT . "FORMAT" x y t "VIEWMODE" ViewMode .
  30.       AnzFarben=2**t - 1
  31.  
  32.       MSRequester "TITLE '*** Farbverlauf ***'",
  33.                         "''",
  34.                         "'Farbverlauf von "von" bis "bis"'",
  35.                         "''",
  36.                         "'Wählen Sie bitte die Effektart aus.'",
  37.                   "PTEXT 'Alle Farben ...'",
  38.                         "'Farbbereich ...'"
  39.       IF RC~=0 THEN LEAVE
  40.       Art=RESULT
  41.  
  42.       IF Art=1 THEN DO
  43.         Liste=""
  44.         l=0
  45.         DO UNTIL l>AnzFarben
  46.           Liste=Liste|| l " "
  47.           l=l+1
  48.         END
  49.       END
  50.       ELSE IF Art=2 THEN DO
  51.         COLRequest "FROM 0 TO 0 TITLE '*** Farbverlauf ***''''Wählen Sie den Farbbereich''für die Bearbeitung aus.'"
  52.         IF RC~=0 THEN LEAVE
  53.         Liste=RESULT
  54.       END
  55.  
  56.       ViewFrame COPS bis
  57.       IF RC~=0 THEN LEAVE
  58.       GetColor Liste
  59.       Ende=RESULT
  60.  
  61.       ViewFrame COPS von
  62.       IF RC~=0 THEN LEAVE
  63.       GetColor Liste
  64.       Start=RESULT
  65.  
  66.       BOOLRequest "'Animationsfarben ändern?''Anim: Master''<< von "von" bis "bis" >>'"
  67.       IF RC~=0 | RESULT="NO" THEN LEAVE
  68.  
  69.       RequestStatus OFF
  70.       DO UNTIL von>bis
  71.         fa=(1-(bis-von)/Anzahl)
  72.  
  73.         ViewFrame COPS von
  74.         IF RC~=0 THEN LEAVE
  75.  
  76.         MStart=Start
  77.         MEnde=Ende
  78.         l=0
  79.         Liste=""
  80.         DO UNTIL MStart=""
  81.           PARSE VAR MStart x Sr Sg Sb MStart
  82.           PARSE VAR MEnde  x Er Eg Eb MEnde
  83.           r=Sr+(Er-Sr)*fa
  84.           g=Sg+(Eg-Sg)*fa
  85.           b=Sb+(Eb-Sb)*fa
  86.           Liste=Liste x TRUNC(r) TRUNC(g) TRUNC(b)
  87.           l=l+1
  88.         END
  89.         SetColor Liste
  90.         Record COPS
  91.         IF RC~=0 THEN LEAVE
  92.         von=von+1
  93.       END
  94.       RequestStatus ON
  95.  
  96.       LEAVE
  97.     END
  98.   END
  99.   ELSE Message "'Für einen Farbverlauf müssen''min. 2 Frames ausgewählt werden.'"
  100.  
  101.   FailAt AltFail
  102. exit
  103.